//
//  QFBaseTableViewController.swift
//  sinaWeibo
//
//  Created by apple on 16/2/26.
//  Copyright © 2016年 Qifeng Yan. All rights reserved.
//

import UIKit

class QFBaseTableViewController: UITableViewController {
    
    var userLogin = QFUserAccountViewModel.sharedInstance.isUserLogin // 定义一个BOOL 值来判断用户是否登陆
    
    // MARK: - loadView 在这里根据用户的登陆情况更换View
    override func loadView() {
        // 如果用户登陆了就调用父类的方法直接加载tabView 在没有登陆的情况下就加载访客View
        userLogin ? super.loadView() : setupVistorView()
    }
    
    // MARK: - 设置访客视图
    func setupVistorView() {
        self.view = vistorView
        
        // 判断用户加载的是哪一个View
        if self is QFHomeViewController {
            vistorView.startRotationAnimation()
        } else if (self is QFMessageViewController) {
            vistorView.setupVisitorInfo("登录后，别人评论你的微博，发给你的消息，都会在这里收到通知", imageName: "visitordiscover_image_message")
        } else if (self is QFDiscoverViewController) {
            vistorView.setupVisitorInfo("登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过", imageName: "visitordiscover_image_message")
        } else if (self is QFProfileViewController) {
            vistorView.setupVisitorInfo("登录后，你的微博、相册、个人资料会显示在这里，展示给别人", imageName: "visitordiscover_image_profile")
        }
        
        // 设置代理
        vistorView.vistorDelegate = self
        
        // 添加导航栏按钮
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewDidRegisterButtonClick")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登陆", style: UIBarButtonItemStyle.Plain, target: self, action: "vistorViewDidLoginButtonClick")
        // 设置全局的导航字体颜色，在程序启动的时候就设置 所以在APPDelegate 里面设置
    }


    override func viewDidLoad() {
        super.viewDidLoad()
        
    }

    // MARK: 懒加载访客View
    lazy var vistorView: QFVistorView = QFVistorView()
    
}

// MARK: 创建分类 实现代理方法
extension QFBaseTableViewController: QFVistorViewDelegate {
    
    func vistorViewDidLoginButtonClick() {
//        print("登陆按钮被点击")
        // 跳转到授权登陆界面
        let oauthVC = QFOauthViewController()
        presentViewController(UINavigationController(rootViewController: oauthVC), animated: true , completion: nil)
    }
    
    func vistorViewDidRegisterButtonClick() {
        print("注册按钮被点击")
    }
}


